1. Field of the Invention
The field of invention relates to a method, means, and device for acquiring user input by a computer and, more particularly, a new and improved method of customizing a user interface to each specific task performed by a user such that the user interface customizes itself without the user having to modify multiple sets of preferences.
2. Description of the Related Art
Contemporary software programmers realize that no matter how good a software program is or powerful a tool a software program becomes when operating on the correct hardware, the extent that the software program permeates the market is limited substantially by the quality of the user interface. For example, a user may prefer to purchase a software program that is very simple to use rather than a more powerful software program that is very hard to use because the user has performed a cost benefit analysis and realizes that the loss of time that results from using the less powerful software program is less than the amount of time lost each time the user has to figure out how to use the more powerful software program.
In an effort to increase sales, software program user interfaces have increased in what is called xe2x80x9cuser-friendlinessxe2x80x9d. The xe2x80x9cuser-friendlinessxe2x80x9d of a software program is the scale by which users tend to measure a software program""s ease of use and the scale is time frame sensitive in that what may have been considered user friendly ten years ago, would not be considered so today. Today, for example, a software program that requires a user to memorize several key combinations to perform software program functions would rank low in the xe2x80x9cuser-friendlinessxe2x80x9d scale, whereas a software program that sets up a command structure such that a user intuitively knows how to perform software program functions would rank high on the xe2x80x9cuser-friendlinessxe2x80x9d scale.
User interfaces have increased in complexity and xe2x80x9cuser-friendlinessxe2x80x9d since the early main frame computers through a combination of hardware and software developments. When main frame computers first became popular, key cards and printouts composed the user interface. The user was required to enter data on a key card to input the data into the computer. The user had to physically punch holes in the key cards in a particular way. Thus, if the user punched a hole in the wrong place then the user would have to reenter all the information on a new key card. This user interface may have been relatively user friendly at that time but is not considered so today.
The first big break through in xe2x80x9cuser-friendlinessxe2x80x9d with regards to hardware, was the combination of the display and keyboard. The keyboard and display allowed a user to see the data in a recognizable format as it was being entered into the computer. Errors could then be detected and corrected much more quickly. The software program user interfaces were slow to take advantage of the keyboard and display combination however. For example, some of the original user interfaces that developed were add-ons to the earlier key card interfaces such that a user had to enter information in exactly the same format as he did for the key cards, but the information was typed at specific coordinates on the display rather than being holes punched in specific places on a key card. Still, if the user made an error typing the data into a specific location, e.g. typed the information one character to the left or one character to the right of where it was supposed to be typed, the computer rejected the entry and required the user to reenter the information. The software finally began to catch up to the keyboard and display hardware combination with the use of a command line and script window. The command line allowed the user to enter commands which initiated a specific or a sequence of specific software program functions. The script window returned the results of a command to a user immediately and allowed the user to review prior actions by scrolling the commands and results upward as new commands and results were displayed. In addition, the xe2x80x9cuser-friendlinessxe2x80x9d of data entry was improved by allowing users to enter information one field at a time, informing the user when a field was entered in an incorrect format, and requiring the user to reenter only the fields, or characters within a field that were wrong rather than making the user reenter the entire data record.
The second big break through in regards to computer hardware for user interfaces was the mouse. The mouse allows the user to point at something on the display and select it by pressing a button on the mouse. The simultaneous response of the software was command menu systems. The command menu system in combination with the mouse, command line, keyboard and display, allowed users to select from a categorized menu of commands, the command the user desired to execute. The command menu systems were primarily character representations of software program functions. Later, graphical user interfaces (GUI""s) were developed. GUI""s, still in use today, depict functions with graphics. The graphics give the software programmer the opportunity to fit more software program functions on a display, as well as allow the user to scan through the command functions more quickly, since the graphic or pictorial descriptions can be more compact and more descriptive than their character counterparts.
GUI""s seem to offer the best user interfaces to date when combined with the menu command system in operating systems such as MacOS(trademark) and Windows(trademark) and in software applications programs. The combined menu command system and GUI, however, still have a shortfall. To begin with, the increasing complexity of software programs along with the increasing diversity of projects for which the users use software programs and the proliferation of computer users, has made a well-tailored user interface, up until now, practically impossible. In addition, software programmers writing software applications are including an enormous number of software program functions, creating a default menu command system and tool bar, and allowing the user to customize the user interface by allowing the user to select the functions that are to be available in the menu command system and tool bar. In some software applications such as Auto Cad(trademark), along with allowing the customization of a menu command system, the software program allows customization commands available on a digitizer tablet and offers a command line in which a user can type any command available from the software program. The shortfall with these user interfaces, however, is that the amount of time required to customize an interface from the user is so great that a user rarely customizes the interface for a specific project. Thereby, the user trades off the inefficiency for each individual project for a smaller but overall gain in efficiency for all the user""s projects.
A further example of a software program attempting to take advantage of the keyboard, mouse, and display is U.S. Pat. No. 5,617,527 issued to Kressin et al., on Apr. 1, 1997, entitled METHOD FOR ADDING A GRAPHICAL USER INTERFACE TO A COMMAND LINE APPLICATION. Kressin introduces the patent in the abstract as a method that improves the user friendliness of command line driven programs. Kressin creates a button GUI window that contains buttons related to a command table. When a button is selected, the invention generates keystrokes emulating a command being entered via a keyboard. Although this does take advantage of the mouse, it does not solve the problems discussed above, i.e. how to deal with more software program functions than can fit on the display without requiring the user to spend enormous amounts of time setting up the interface. Alternatively, Kressin can be viewed as a modification for software programmers only, as is implied by the specification objectives. In such a case, the program loses flexibility and is not well-tailored to the particular application of a user.
A still further example of a software program attempting to take advantage of the keyboard, mouse, and display is the hypertext function offered in many word processing programs including recent versions of e-mail editors for popular browsers. The hypertext software program function is useful, but relatively very limited. For example, the hypertext function will recognize some set formats for web sites and files but will not recognize other commands, links, and objects.
While the aforementioned prior art has some areas of effectiveness, it does not sufficiently address the needs of software programmers and software program users, and there is a great need for a better device and method.
According to one aspect of the invention, a method for acquiring user input by a computer having a command input device, a selection device and a display device, comprising receiving an input, displaying a representation of the received input on the display device, attaching at least a drag and drop function to the displayed representation of the received input on the display device, and executing an attached function upon selection of the displayed representation of the received input.
According to another aspect of the invention, a device for acquiring user input by a computer having a command input device, a selection device and a display device, comprising receiving an input, displaying a representation of the received input on the display device, attaching at least a drag and drop function to the displayed representation of the received input on the display device, and executing an attached function upon selection of the displayed representation of the received input.
According to another aspect of the invention, a device for acquiring user input by a computer having a command input device, a selection device and a display device, comprising an input receiver communicatively connected and responsive to the command input device and the selection device, a representation of an input suitable for display on the display device and responsive to the input receiver, a function, a function attachment device communicatively connected to the representation of an input, and a function executing device communicatively connected to the input receiver, and the function wherein the function executing device is responsive to the input receiver and the function is responsive to the function executing device.
These and other aspects of the invention solve various problems in the prior art. The present invention utilizes the optional layers of command lines, scripts and/or buttons depending upon the user""s preferences. Each command layer can be set up in accordance with the user""s preference to learn a number of frequently used software program functions. The command layers can learn global software program functions, such as operating system program functions and/or software program functions for a specific application, such as a word-processing application, and task such as a technical analysis of subcontractor bid documents. As such each user project can be worked upon utilizing a user interface literally tailored for that specific project without having to take enormous amounts of time customizing the user interfaces.
Further, although a good aspect offered by common hypertext functions is format recognition such that the format of a web site is recognized even without a search to determine if the web site exists, some embodiments of the present invention recognize a large variety of user-defineable commands, links, and objects such as files, groups of files, documents, e-mail addresses, web site addresses, Internet protocol addresses, hardware devices (such as printers, CD ROM drives, printers, zip drives, hard drives, networked computers), and the like, without a search to determine if the object, link, or command exists. Embodiments of the present invention recognize formats and begin searching for a corresponding object, group of objects, device, group of devices, locations, . . . until a complete listing is generated. In addition, other embodiments of the present invention also offer a drag and drop function, unavailable with any hypertext software program function, that allows the object represented or the representation of the object to be manipulated by the user.
The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of an example embodiment of the invention, as illustrated in the accompanying drawing wherein like reference numbers represent like parts of the embodiment of the invention.